package org.testis.orm.refinedclasses;

import java.util.HashMap;

/**
 * 
 * @author Cahit Emir Erel
 */
public interface Comparable {
    public static int DIFFERENT_NAME = 0;
    public static int DIFFERENT_TYPE = 1;
    public static int DIFFERENT_PROPERTIES = 2;
    public static int DIFFERENT_PARAMETERS = 3;
    public static int EXACT = 4;

    public int compare(Comparable source, Comparable treeReference);

    public boolean compareParameters(HashMap<String, Object> params,
	    Comparable treeTreference);

    public boolean hasSameRunTimeParams(HashMap<String, Object> params,
	    Comparable treeTreference);

    public String getName();

    public String getTypeName();
}
